﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Joel.Vishnu.Consola
{
    public abstract class Base
    {
        #region Constructores

        public Base()
            : base()
        {
        }

        #endregion

        #region Metodos

        protected static void Titulo(String titulo)
        {
            Console.BackgroundColor = ConsoleColor.Blue;
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine(titulo);
            Console.WriteLine();
            Console.BackgroundColor = ConsoleColor.Black;
            Console.ForegroundColor = ConsoleColor.White;
        }

        protected static void MensajeInformativo(String mensaje)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine(mensaje);
            Console.ForegroundColor = ConsoleColor.White;
        }

        protected static void MensajeInformativoSeguido(String mensaje)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write(mensaje);
            Console.ForegroundColor = ConsoleColor.White;
        }

        protected static void MensajeError(String mensaje)
        {
            Console.Clear();
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Write(mensaje);
            Console.ForegroundColor = ConsoleColor.White;
            Console.ReadKey();
        }

        protected static String ArmarLinea(String textoSinFormatear, Int32 cantidadEspacios)
        {
            String textoFormateado = textoSinFormatear;
            for (int i = 0; i < cantidadEspacios; i++)
                textoFormateado += " ";
            textoFormateado = textoFormateado.Substring(0, cantidadEspacios);
            return textoFormateado;
        }

        protected static String ArmarLineaInversa(String textoSinFormatear, Int32 cantidadEspacios)
        {
            String textoFormateado = String.Empty;
            for (int i = 0; i < cantidadEspacios; i++)
                textoFormateado += " ";
            textoFormateado += textoSinFormatear;
            textoFormateado = textoFormateado.Substring((textoFormateado.Length - cantidadEspacios), cantidadEspacios);
            return textoFormateado;
        }

        #endregion
    }
}
